草庐IT

ML 方法

全部标签

c# - 与 BitConverter.ToString 相反的方法?

BitConverter.ToString给出格式为'XX-XX-XX-XX'的十六进制数是否有相反的方法,以便我可以从以这种格式给出的字符串中获取原始字节数组? 最佳答案 没有,但是很容易实现:strings="66-6F-6F-62-61-72";byte[]bytes=s.Split('-').Select(x=>byte.Parse(x,NumberStyles.HexNumber)).ToArray(); 关于c#-与BitConverter.ToString相反的方法?,我们

c# - 测试一个方法是否被覆盖?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:DetectifamethodwasoverriddenusingReflection(C#)有没有办法判断一个方法是否被覆盖?例如publicclassFoo{publicvirtualvoidDoSomething(){}publicvirtualintGimmeIntPleez(){return0;}}publicclassBabyFoo:Foo{publicoverrideintGimmeIntPleez(){return-1;}}是否可以反射(reflect)BabyFoo并判断GimmeIntPl

c# - 在 Microsoft Office 互操作 FileSaveAs 方法中禁用覆盖现有文件提示

我正在使用MsOfficeInterop程序集创建一个MSProject文件。为了保存创建的文件,我使用了FileSaveAs方法,它会提示一条消息,提示您是否要替换现有文件。我想抑制该消息,但我没有在FileSaveAs方法中找到任何用于此目的的参数。对此有什么想法吗?我使用C#作为我的编程语言。 最佳答案 我在使用ExcelInterop时遇到了这个问题。我能找到的最好方法是禁用所有Office警报,如下所示:Microsoft.Office.Interop.MSProject.ApplicationmsProjectApp=n

c# - 在 C# 中,有没有一种方法可以在不先加载 XML 节点的情况下将其添加到磁盘上的文件中?

我在磁盘上有一个非常基本的XML结构/文件,类似于:kdkdkdkkdkdkdkgffgfdgfkddsdsfsdkdkdk如前所述,XML将位于磁盘上的外部文件中。由于文件可能会变得相当大(实际上每隔几周就会“修剪”一次),我不想先加载XML文件来添加新节点...有没有办法像这样添加一个新节点?它可以只添加到顶部/底部等,因为实际使用XML的过程无论如何都会按时间戳对其进行排序..我猜一个粗略的方法是将节点作为文本附加..但是我认为这会在结束标记之后添加节点??感谢收到的任何想法..大卫。 最佳答案 不适用于任何XMLAPI或工具

c# - 使用数组的 SetValue 方法与 [] 索引器

我注意到数组有SetValue方法,当您只能使用索引器时,这似乎有点不合适。SetValue有什么特殊用途吗?MSDN文章似乎并没有说明SetValue的用途,只是说明了如何使用它。就速度而言,使用哪种方法效率更高? 最佳答案 有时你所拥有的数组只是一个数组。Array类没有索引器,因此在其上设置/获取元素值的最佳方法是通过GetValue和SetValue方法。例如:privatevoidM(Arrayarray){array[0]=5;// 关于c#-使用数组的SetValue方法与

c# - 在扩展方法中保存状态

C#团队之前考虑过向C#添加扩展属性、事件等。埃里克·利珀特:http://blogs.msdn.com/b/ericlippert/archive/2009/10/05/why-no-extension-properties.aspx但是,要使这些功能有用,它们必须能够使用对象存储某种新的状态。看起来唯一的方法是使用字典并将对象的每个实例与附加状态相关联。如果可以通过创建我自己的字典(也许还有获取/设置扩展方法)“手动”复制此功能,那将会很有用。但是,为了将对象的特定实例与某种状态相关联,您需要对对象的实际引用进行哈希处理。在另一种语言中,您可以通过散列其内存位置来实现这一点,但在C

c# - 在存储库中使用 Include() 方法

我在EF5中有以下内容:vara=context.Posts.Include(x=>x.Pack).Select(x=>x.Pack.Id).ToList();这行得通。然后我尝试在我的通用存储库中复制它:publicIQueryableInclude(Expression>criteria)whereT:class{return_context.Set().Include(criteria);}但在这种情况下,我无法执行以下操作:varb=repository.Include(x=>x.Pack).Select(x=>x.Pack.Id).ToList();我得到错误:Cannoti

c# - 检查两个 List<T> 是否相等的最快方法

我有两个列表ListA和ListB两者都有1000条记录。Emp是Employee类的一个对象。下面是我的Employee类publicclassEmployee{intID=0;stringName=String.Empty;stringDept=String.Empty;stringAddress=String.Empty;intAge=0;stringEmail=String.Empty;}我想验证两个列表是否相等。Emp对象可以按不同的顺序放置。此外,可能有多个Emp对象在两个列表中具有完全相同的信息。我也必须验证这些。我尝试对列表进行排序并使用SequenceEqual进行比

c# - 文件 IO 的单元测试方法

我正在努力养成编写单元测试的习惯,我以前写过一些,但它们通常都很基础......我想开始转向TDD,因为我想提高我的代码(设计和结构)的质量-减少耦合,同时希望减少滑入可测试构建的回归数量。我从一个相对简单的项目开始。生成的程序监视一个文件夹,然后对该文件夹中的文件进行操作。下面是从项目中提取的一些代码的典型示例:privatestringRestoreExtension(Stringfile){varunknownFile=Path.GetFileName(file);varignoreDir=Path.GetDirectoryName(file)+"\\Unknown";strin

c# - 在 C# 中是否有一种很好的强类型方法来处理 PropertyChanged 事件?

更改属性名称一定是比较常见的事件,并且期望VisualStudio中的重命名功能能够处理所有必要的重命名,INotifyPropertyChanged的​​PropertyChanged事件的属性名称除外。有没有更好的方法以某种方式使其强类型化,这样您就不需要记住手动重命名它? 最佳答案 编辑:nameof到达了c#6。耶!没有nameof/infoof等;对此进行了很多讨论,但事实就是如此。有一种方法可以在.NET3.5中使用lambda表达式(并解析表达式树),但实际上不值得为此付出代价。现在,我只坚持使用字符串(如果您决心不破